package com.kmist.xiakexing.interfaces;

import com.kmist.xiakexing.utils.scene.PlayerBean;
import com.kmist.xiakexing.utils.scene.PlayerTaskBean;
import com.kmist.xiakexing.utils.scene.TaskBean;

public interface ITaskPresenter extends IBasePresenter<ITaskCallback>{
    /* 给玩家添加、删除 任务*/
    void addTask(PlayerBean player, TaskBean task);
    void delTask(PlayerBean player, TaskBean task);

    /* 获取task */
    void getTask(String taskid);
    void getTask(TaskBean task);

    /* 获取玩家所有task */
    void getPlayerAllTask(String sid);
    PlayerTaskBean getPlayerTask(String sid, int taskid); //查找或获取当前任务玩家有没有


    /**
     * 将任务人类型转换成对应的字符串
     * @param taskType
     * @return
     */
    String getTaskTypeStr(int taskType);
    /**
     * 根据当前任务的不同状态获取对应的任务对白
     * @param taskStatus
     * @return
     */
    String getTaskDialogue(int taskStatus, String taskInfo);

    String getTaskStatusStr(TaskBean task, int nid);

    /**
     * 接受任务
     * @param sid
     * @param taskId
     */
    void acceptTask(String sid, int taskId);

    /**
     * 更新任务状态
     * @param sid
     * @param taskid
     * @param status
     */
    void updateTaskStatus(String sid, int taskid, int status);
    void taskStatusOver(String sid, int taskid);
}
